home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Applications / Games / Solitaire / Sources / Spider / SpiderDrawDelegate.m < prev    next >
Text File  |  1994-01-19  |  1KB  |  66 lines

  1.  
  2. #import "SpiderDrawDelegate.h"
  3. #import "../Solitaire/CardSet.subproj/cardset.h"
  4. #import "localstrings.h"
  5.  
  6. @implementation SpiderDrawDelegate
  7.  
  8. - setGameCardPileViews:(id *)theViews
  9. {
  10.     int i;
  11.     for (i = 0; i < 10; i++)
  12.     {
  13.         gameCardPiles[i] = theViews[i];
  14.     }
  15.     return self;
  16. }
  17.  
  18. - clickedCard:aCard in:drawCardPileView
  19. {
  20.     id    drawCardPile = [drawCardPileView cardPile];
  21.     id    drawCard;
  22.     int   i;
  23.     int   numSpaces;
  24.     int   numCards;
  25.     
  26.     if (aCard)
  27.     {
  28.         numSpaces = 0;
  29.     for (i = 0; i < 10; i++)
  30.     {
  31.         if ([[gameCardPiles[i] cardPile] cardCount] == 0) numSpaces++;
  32.     }
  33.     
  34.     if (numSpaces > 0)
  35.     {
  36.         numCards = 0;
  37.         for (i = 0; i < 10; i++)
  38.         {
  39.             numCards += [[gameCardPiles[i] cardPile] cardCount];
  40.         }
  41.         
  42.         if (numCards >= 10)
  43.         {
  44.             NXRunAlertPanel(LOCALIZED_GAME_NAME, LOCALIZED_FILL_SPACES,
  45.                         NULL, NULL, NULL);
  46.             return self;
  47.         }
  48.     }
  49.     [[drawCardPileView window] disableFlushWindow];
  50.     for (i = 0; i < 10; i++)
  51.     {
  52.         drawCard = [drawCardPile cardAt:CS_TOP];
  53.         [drawCardPile removeCard:drawCard];
  54.         [drawCard flip];
  55.         [[gameCardPiles[i] cardPile]addCard:drawCard];
  56.         [drawCardPileView display];
  57.         [gameCardPiles[i] display];
  58.     }
  59.     [[drawCardPileView window] reenableFlushWindow];
  60.     [[drawCardPileView window] flushWindow];
  61.     }
  62.     return self;
  63. }
  64.  
  65. @end
  66.